package com.chinacoal.hr.levelimpl.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.chinacoal.hr.levelapi.entity.AttendanceSummary;

import java.util.List;
import java.util.Map;

/**
 * 考勤信息汇总service接口
 *
 * @author : YunTao.Li
 * @date : 2019/11/26 2019/11/26
 * @return : null
 */
public interface AttendanceSummaryService {
    public IPage<AttendanceSummary> getAttendanceSummaryList(Map<String, Object> condition);

    /**
     * 考勤汇总处理，将请假、出差、申诉的审批记录处理成考勤信息
     *
     * @return : java.util.Map<java.lang.String,java.lang.String>
     * @author : YunTao.Li
     * @date : 2020/7/6 2020/7/6
     */
    public Map<String, String> attendanceTransPaperProcessor(String empCode, String beginDate, String endDate) throws Throwable;

    /**
     * 增量统计某段时间的考勤信息
     *
     * @param beginDate : yyyy-MM-dd
     * @param endDate   :
     * @return : java.util.Map<java.lang.String,java.lang.String>
     * @author : YunTao.Li
     * @date : 2020/7/7 2020/7/7
     */
    public Map<String, String> attendanceSummaryIncrementRolling(String beginDate, String endDate) throws Throwable;

    /**
     * 汇总统计该年月的考勤信息
     *
     * @param yrmonth :
     * @return : java.util.Map<java.lang.String,java.lang.String>
     * @author : YunTao.Li
     * @date : 2020/7/6 2020/7/6
     */
    public Map<String, String> attendanceSummaryRolling(String yrmonth) throws Throwable;


    /**
     * 根据年月删除考勤汇总数据重新统计
     *
     * @param yrmonth :
     * @return : java.util.Map<java.lang.String,java.lang.String>
     * @author : YunTao.Li
     * @date : 2020/7/6 2020/7/6
     */
    public Map<String, String> deleteAttendanceSummary(String yrmonth) throws Throwable;

}
